package vendor_account

import (
	"context"
	model "micro-oauth/datamodels"
	"micro-oauth/datamodels/autherror"
	"micro-oauth/datamodels/params"
)

type VendorAccountService interface {
	CreateVendorUser(ctx context.Context, req *params.VendorUserCreateRequest) (*model.User, autherror.HexError)
	CreateVendorManagerUser(ctx context.Context, req *params.VendorManagerCreateRequest) (*model.User, autherror.HexError)
	TriggerVendorUserStatus(ctx context.Context, req *params.TriggerVendorUserStatusRequest) autherror.HexError
	ListVendorUser(ctx context.Context, req *params.VendorUserListRequest) ([]*model.User, uint64, autherror.HexError)
	UpdateVendorManagerUser(ctx context.Context, req *params.ResetVendorManagerUserUpdateRequest) autherror.HexError
	ResetVendorUserPwd(ctx context.Context, req *params.ResetVendorUserPwdRequest) autherror.HexError
}
